#ifndef __PROJECTION_MATRIX_HPP__
#define __PROJECTION_MATRIX_HPP__

#include <GL/glut.h>
#include <math.h>
#include "Mathematics/MMatrix4.hpp"

class ProjectionMatrix
{
public:
	ProjectionMatrix( GLdouble& fov, GLdouble& aspect, GLdouble& nearPlane, GLdouble& farPlane );
	ProjectionMatrix( GLdouble fov, GLdouble aspect, GLdouble nearPlane, GLdouble farPlane );
	
	~ProjectionMatrix();

	const MMatrix4&  GetProjectionMatrix() const;

private:
	GLdouble     m_fov;
	GLdouble     m_aspect;
	GLdouble     m_nearClipPlane;
	GLdouble     m_farClipPlane;
	MMatrix4     m_projectionMatrix;
};

#endif //__PROJECTION_MATRIX_HPP__